package com.hqyj.javaSpringBoot.modules.test.entity;

import com.hqyj.javaSpringBoot.modules.common.entiy.AbstractEntity;

import javax.persistence.*;
import java.util.List;

@Entity
@Table(name = "test_school")
public class School extends AbstractEntity {
    private String schoolName;
    /**
     * @transient 就是在给某个javabean上需要添加个属性，
     * 但是这个属性你又不希望给存到数据库中去，仅仅是做个临时变量，用一下。
     * 不修改已经存在数据库的数据的数据结构。
     */
    @Transient
    private String region;//地区

    /**
     * OneToMany：多方使用 joinClumn，创建外键，一方使用 mappedBy 属性
     * cascade：联级操作
     * fetch：加载数据策略
     */
    @OneToMany(mappedBy = "school",
            cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private List<Clazz> clazzes;

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public List<Clazz> getClazzes() {
        return clazzes;
    }

    public void setClazzes(List<Clazz> clazzes) {
        this.clazzes = clazzes;
    }

}
